热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

android–嵌入式系统:我应该使用哪个操作系统?

我计划构建我的嵌入式系统来处理我的吉他声音,如一个pod,带有输入和输出等等,一个带有预设的程序运行的系统,小型液晶屏幕中的选项等应该是用于导航的多点触控.现在我刚开始,不知道从哪

我计划构建我的嵌入式系统来处理我的吉他声音,如一个pod,带有输入和输出等等,一个带有预设的程序运行的系统,小型液晶屏幕中的选项等应该是用于导航的多点触控.

现在我刚开始,不知道从哪里开始,我应该使用什么系统.

它应该支持我上面写的功能(如多点触控)并且应该是免费的.

嵌入式Linux,
要么
Android的
或者是什么?

解决方法:

您是否使用现成的效果模块与嵌入式系统的某种接口,或者您是否计划在程序中执行效果?我在这个回复中假设后者,请澄清我是否误解了项目的性质:

你的系统工程……

您将需要处理输入和输出的模拟.甚至数字输入和输出在某些方面都是模拟的,以保持信号清洁.甚至光学也将在光学接口和处理器接口之间进行模拟.

(我知道这很长,继续阅读会收敛你问题的答案)

您将在界面中拥有某种硬件到软件数据,理想情况下,如果您选择支持不同的接口,理想情况下您需要将数据规范化为通用形式和数据速率,以便效果处理只需要以一种方式处理它. (在代码中避免一堆if-then-elses,如果比特率是那么,否则如果比特率是那么,否则……如果比特率是这个,数据是单极的话,否则如果比特率是这样,数据是双极的那么,否则……).

效果处理的内容和你想要的一样复杂,一次一个效果或多个效果?对于每个效果,定义您要允许调整的参数(我将从最小数字开始,可能是无,然后在一切正常后再添加参数).这些参数需要在某些方面或方式中是全局的,以便用户界面可以获取它们并修改它们以进行效果处理.

输出,与输入相同,大量模拟工作,从规范化数据流转换为接口想要或需要的任何东西,或者您定义它.

然后有用户界面……简单的部分.

用于效果处理的软件的内容可以是与系统无关的代码,并且在桌面/笔记本电脑上比在目标系统上开发和测试更加舒适,同时要记住代码应该是系统和操作系统独立编写的.因为写入可嵌入(避免浮点,除法,许多局部变量等).

有时,如果不经常在一个封闭的系统中,在同一个黑盒子上有某种用户界面,旋钮或按钮,某种屏幕,触摸屏等.一个系统可以管理用户界面,另一个执行任务,有一个之间的联系.并不总是,但它是一个很好的清洁设计,并允许,例如昨天设计的产品,按钮和旋钮,并说一个双线液晶面板,现代化的触摸屏,只需一小部分的努力,明天的某个时候那里可能是一些光纤直接插入你脑后的插座,谁知道呢.

分离处理任务的另一个原因是,更容易确保效果处理器永远不会被用户界面的东西陷入困境.你不想在你的触摸屏上转动一个虚拟旋钮,并且图形加载以绘制图片会导致你的音频变得乱码或变成讨厌的呜呜声.基本上效果处理器是实时关键的.你不想在吉他上拾取琴弦,并在三秒钟之后将声音从放大器中取出,因为处理器也在你的触摸屏面板上绘制了一个动画背景.这种处理需要紧密,快速和确定性,代码中的每个if-then-else都必须被考虑和平衡.如果您允许多个并行效果,您的处理器需要能够有带宽来处理所有效果而不会有明显的延迟,否则如果一次只有一个效果,那么需要选择处理器来处理一个效果最糟糕的计算工作.可能发生的最坏情况是输入到输出延迟因gui处理正在做的事情而变化,导致音乐听起来很糟糕.

因此,您可以使用其用户界面来处理效果处理器,例如,串行接口和该接口(您定义的)上的协议,用于选择效果和更改参数.您可以使用通过串行接口连接的桌面和/或笔记本电脑启动效果处理器并进行工作和测试,其中一些特殊代码用于更改参数,可能是命令行程序.

现在是它变得有趣的地方.你可以得到一个现成的嵌入式linux系统或嵌入式android或者其他什么,编写你的使用串行协议的app,如果需要胶水,螺栓,磁带,模具等这个用户界面系统在上面,旁边效果处理器模块.请注意,您可以拥有所有建议的平台,一个Android版本,一个Linux(没有Android)版本,一个Mac版本,一个Windows版本,一个DOS版本,一个qnx版本,一个amiga版本,你可以命名它.您可以在同一个操作系统上尝试100种不同的用户界面变体,也许我希望旋钮是滑块,或者上/下按钮,或者我使用双指触摸旋转的表盘,或其他一些多点触控手势.

它变得更好,而不是串行或除了串行之外你可以使用蓝牙模块.您的用户界面可以是iPhone应用程序,或Android手机应用程序,或笔记本电脑Linux或Windows应用程序.或者你的桌面计算机等.所有这些都是(相对)简单的平台,用于编写图形用户界面来选择东西.

当然,另一种方法可能是以太网,特别是无线以太网,那么您的用户界面可能是一个网页,而您的大部分用户界面工作已由firefox或chrome或其他团队完成. (无线以太网或蓝牙或zigbee或其他允许效果处理器在某个方便的地方,并且不必在你的手臂/脚的范围内).

做你的系统工程.将问题分解为几个大模块,定义模块之间的接口,然后在必要时在这些模块中担心系统工程,直到您获得易于消化的咬合.系统工程越好,模块之间的接口越好定义,项目就越容易实现.

我还会调查xmos上的xcore处理器,他们有一个非常好的模拟器,带有vcd波形输出,你也可以使用它来准确地分析你的效果处理.就个人而言,我很难为这个项目选择这个平台.

您还应该从ti调查omap,这是beagleboard上的内容.你得到一个很好的手臂,已经有linux和其他东西移植并运行,但你也得到一个dsp块,dsp块可以做你的效果处理,并可能以两个不干涉的方式.你失去了在物理上分离你的用户界面处理器和效果处理器的能力,但在别处获得了,并且可能使用现成的beagleboard来开发原型(使用模拟音频输入和输出).我实际上更喜欢hawkboard(使用hawkboard你可以获得一个可用的系统开箱即用,beagleboard你花了另一个berapeboard值钱的东西本应该在板上),但最后我看到他们有一个不稳定的缺陷与pcb设计.

我不喜欢这些规格,但tegra(一些即将推出的手机已经或将要以tegra为基础),就像omap一样,应该提供一些平行处理,以及对音频/视频和gui的精益.你只需要音频和gui(三个中更容易的两个).我认为有一个销售的开发平台,它有一个触摸屏和流行的嵌入式操作系统.

如果你想省钱,你可以自己制作这些东西.现在停下来去商店买一个.即使所有的设计都是免费的,自制软件也会花费更多.硬件和熔化的吉他和吉他放大器不是.我从经验中说,很多时候我在自制项目上花费了数千美元,以避免购买一些现成的300美元的物品.我学到了很多东西,而且个人建造这件东西比使用它更有趣,我通常在它最终工作后搁置它.因人而异

如果我误解了您的问题,请告诉我,我将使用不同的(简短)答案编辑/删除/替换所有问题.


推荐阅读
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • ECMA262规定typeof操作符的返回值和instanceof的使用方法
    本文介绍了ECMA262规定的typeof操作符对不同类型的变量的返回值,以及instanceof操作符的使用方法。同时还提到了在不同浏览器中对正则表达式应用typeof操作符的返回值的差异。 ... [详细]
  • 使用chrome编辑器实现网页截图功能的方法
    本文介绍了在chrome浏览器中使用编辑器实现网页截图功能的方法。通过在地址栏中输入特定命令,打开控制台并调用命令面板,用户可以方便地进行网页截图操作。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
author-avatar
胖子届全国身轻如燕冠军
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有